הנה קוד הphp שלי
$_POST['Name']=$name;
$_POST['Paasword']=$password;
if(mysql_query("SELECT * FROM `admin` WHERE `name`='".$name."' AND `password`='".$password."' "))
{
;"Error = "invaild$
}
אם אני יכתוב במקום Error$ את הפקודה echo זה ידפיס לי invaild אם הנתונים לא נכונים
אבל אני רוצה שזה יעצור את ההרצה של הקובץ מה שהerror אמור לעשות והוא לא פועל לי טוב.
לכתוב את הפקודה error בצורה שונה
$_POST['Name']=$name;
$_POST['Paasword']=$password;
if(mysql_query("SELECT * FROM `admin` WHERE `name`='".$name."' AND `password`='".$password."' "))
{
;"Error = "invaild$
}
אם אני יכתוב במקום Error$ את הפקודה echo זה ידפיס לי invaild אם הנתונים לא נכונים
אבל אני רוצה שזה יעצור את ההרצה של הקובץ מה שהerror אמור לעשות והוא לא פועל לי טוב.
לכתוב את הפקודה error בצורה שונה
2 תשובות
ענה
AvihayMenahem
ב
18 ליולי 2012
#
בשביל זה יש לך כמה דרכים...
הדרך הראשונה היא להשתמש בreturn אחרי הecho, לדוגמא:
<?php
if($statement == 1)
{
return 'Is Valid';
}
if($statement == 1)
{
return 'Is Valid';
}
הדרך השנייה היא להתחיל לעלות רמה ולהשתמש בexceptions, ועל זה תוכל לקרוא פה:
http://php.net/manual/en/language.exceptions.php
אני לא יודע אם השתמשת בפונקצייה או מחלקה אבל רצוי להפריד בין חלקי הקוד השונים כלומר:
קוד שיתעסק בקבלת נתונים, קוד שיתעסק בבסיס הנתונים , קוד שיריץ שאילתות וכו'
אפשר לבצע את זה במספר דרכים לאו דווקא עם מחלקות וכל הסיבוך שכרוך בזה.
יש כמה דרכים לשבור קוד בזמן הרצה:
בפונקציות/מחלקות משתמשים ב
return $value
או רק return;
בלולאות משתמשים ב
break 1/2/3/4
לפי כמות הלולאות שאתה רוצה לשבוריש גם
exit
שמשמש לעצירה מוחלטת של ההרצה ויציאה.כמו שטענו מעליי אקספשיינס בזמן הפיתוח זה חשוב מאוד לתפוס לבדוק איפה הבעיה.